iT邦幫忙

2022 iThome 鐵人賽

DAY 9
0
Modern Web

Node.js 從零開始系列 第 9

Node.js - createServer 起手式

  • 分享至 

  • xImage
  •  

node

Node.js 本身提供許多模組可以使用,可以透過 require 方法將模組載入。

這次要學習用 Node.js 裡面的 Http 模組來建立一個伺服器。

載入 HTTP 模組

首先先載入 http 模組,並且使用 http 模組內的 createServer 方法,

var http = require('http');
http.createServer()

帶入 createServer 參數

在 createServer 中給一個函式,並給兩個參數:

  • request - 當使用者呼叫資料時所發出的請求。
  • response - 回傳給使用者的資料。
var http = require('http');
http.createServer(function(request,response){
    //do something
})

寫入 header 以及要呈現內容

var http = require("http");
http
  .createServer(function (request, response) {
    response.writeHead(200, {
      "Content-type": "text/plain",
    });
    response.write("<h1>hello node!</h1>");
    response.end();
  })

說明:

  1. 函式內用 response 中的 writeHead 寫入如果正確呼叫到這支程式的狀態與回傳的內容。
  2. 狀態 200 為成功呼叫到此程式, Content-type 目前使用的是字串 plain 格式,如果要回傳是網頁元素則是把 plain 改為 html。
  3. 在 write 中寫入要回傳的內容。
  4. 最後要讓這個函式結束一定要寫 response.end(),不然不會結束。

使用指定連結阜號 port 並打開瀏覽器檢視

最後在程式的末端加上 listen() 方法去開啟連結埠,也就是專案有時候啟動時後面會跑一個數字。那這邊我就定義為 3030 。

var http = require("http");
http
  .createServer(function (request, response) {
    response.writeHead(200, {
      "Content-type": "text/plain",
    });
    response.write("<h1>hello node!</h1>");
    response.end();
  })
  .listen(3030);

此刻來運行看看,輸入:

node app.js

並且在瀏覽器輸入:

http://127.0.0.1:3030/

便會看到以下畫面,這樣就成功囉!

text

Content-type 換成 html 的文字格式

剛剛呈現的是字串,如果把 Content-type 的 plain 改成 html。

var http = require("http");
http
  .createServer(function (request, response) {
    response.writeHead(200, {
      "Content-type": "text/html",
    });
    response.write("<h1>hello node!</h1>");
    response.end();
  })
  .listen(3030);

在開啟瀏覽器:

h2

也成功印出 h2 的標題囉!


上一篇
Node.js - exports 模組設計
下一篇
Node.js - createServer 核心知識
系列文
Node.js 從零開始30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言